home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
NEW
/
A-Newest
/
TORPET.d64
/
underline cursor
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-12
|
2KB
|
98 lines
10 REM ********************************
20 REM *
30 REM * CHARACTER-SETUP
40 REM *
50 REM * BY
60 REM *
70 REM * PETER TATTERSALL
80 REM *
90 REM ********************************
100 :
101 POKE 52,104:POKE 56,104:CLR:REM RESERVE MEMORY
102 :
103 REM TURN ON CHARACTERS
104 :
105 POKE 53272,(PEEK(53272)AND 240)+14
106 :
110 REM WE'LL DO ALL THIS IN BASIC
120 REM SO YOU CAN SEE WHAT WE'RE DOING
130 :
140 REM FIRST TURN OFF THE INTERRUPTS
145 REM WHICH IS OK FROM BASIC AS LONG
146 REM AS YOU DON'T HAVE BUS CARDS,
147 REM OR (SOME) BASIC EXTENSIONS
148 :
150 POKE 56334,PEEK(56334)AND 254
151 :
152 REM RESET THE BLOCK TO 1
153 :
154 POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND 252)OR2
155 :
156 REM RESET THE PAGE POINTER
157 :
158 POKE 648,104:POKE 53272,(PEEK(53272)AND 15) OR 160
159 :
160 :
170 REM SWITCH OUT I/O AND SWITCH IN
180 REM CHARACTER ROM
190 POKE 1,PEEK(1) AND 251
200 :
210 REM MOVE CHARACTERS TO $3000
220 :
230 FOR I=0 TO 4095
240 POKE I+28672,PEEK(I+53248)
250 NEXT
260 :
270 REM RESTORE I/O
280 :
290 POKE 1,PEEK(1) OR 4
300 :
310 REM RESTORE INTERUPTS
320 :
330 POKE 56334,PEEK(56334) OR 1
340 :
350 REM MODIFY "BLOCKS"
360 :
370 FOR I=1024 TO 2047
380 POKE 28672+I,PEEK(27648+I)
390 NEXT
400 :
410 FOR I=1031 TO 2047 STEP 8
420 POKE 28672+I,255
430 NEXT
440 :
450 FOR I=3072 TO 4095
460 POKE 28672+I,PEEK(27648+I)
470 NEXT
480 :
490 FOR I=3079 TO4095 STEP 8
500 B=255 AND (NOT(PEEK(28672+I)))
510 POKE 28672+I,B
520 NEXT
530 :
540 REM ALL DONE - BUT NOW WE HAVE NO
550 REM REVERSE CHARACTERS, AND SOME
560 REM MEMORY SPACE IS WASTED.
570 :
580 REM OF COURSE, MACHINE CODE WOULD DO THIS FASTER...
590 :
600 REM SET UP A NEW INTERUPT ENTRY
610 REM AND ENABLE IT
620 FOR I=32768 TO 32809
630 READ A
640 POKE I,A
650 NEXT
660 :
670 SYS 32797
680 :
690 END
695 :
696 REM FIRST TWO DATA LINES ARE FLASHKILLER
697 :
700 DATA 32,234,255,165,204,208,19,164,211,177,209,41,127,133,206,9
710 DATA 128,145,209,169,1,133,207,76,79,234,76,97,234
715 :
716 REM NEXT LINE IS ENABLER
720 :
730 DATA 120,169,0,141,20,3,169,128,141,21,3,88,96